ML }  X c0C)HCCH Mhhݩh `eCDiCD`  RyHP   * 1H0芢@) Y0.Ș`i#(PMRR\ \b Pgi 0  % @ / ՠ`d   0DDԝLH}N@  )?HI Y0`HIJH) * J j * hJJJ )HJ h i     } YS S0 i`ϣ߳ϣ߳H J3xj2h} 1 |9 ӭ45(420 *(0241өX.`  R *i)Lvw  ~*P}E 5 LN(G E  r s k rsrL ( E LO(0d( L iE0O +)$IC  H S8 }q p h   j 8no CDLQ CFl M  LO Ri)Llk2'")*F }$F$F$F$F$ 5 )ШF/Șl]kpqС,LQ/A! Ti)Zlk@ ܬ/i)(")")k }$F$F$F 5$/L /lF@jj(LNkle$$%8(k()` R 8 ELO Ri)^>jf | NrC s } ) vw5g   enfo Glvw LQ@iLm>j FL ~Jjjjii p qEh }jlrs`LQ:$ȱ$@+[_#{ 8  Խut! ai 8   E I   ] C } H h    ˰ 8  N   Lm E  ,  [ `LQ ,/ 8 ~/  Ơ? ѩ}/  [ /Lj0?MoLn FjMqLp NklLOLQnLoMlNLO R"(+}ըHH`Q R!!  % !   / .   FȑF! /GF \H"+0+* }! F tLQnm: J~nTF1F  *n+)5! n (, n)1JJJn(n*o} I ,0  ci a oF? @ , 8,0 ʩ0H Eh   i}  D ]DmmFLQvtu`*&!*@h ] 0 ^0` c 0l$$%}()()%*&J%H,@hH hH@,h $% 8i8$(%)0hhH ]h`() c 0H c 0 h}`hhh&JJ ](ll  LQ0  /qnoHH 9 9 H H  I9  9 } Nd EH  Q8 o n  FnoL HII/ Ih8`h`Lnon`no`u F }E VEhLO/luF l0BF/lɜɛ׽hE N  b VFL FREE SECTORS C} H) *Fh ):FȽ F FC IH' 0 d  i:Fȩ/F.l`CD/08HDIC}IHȰ/F`ȱ$>.+.i ȱ$:刄H !A \ Hȱ$*?ȝ 2. ? [_{ ,0}-:) 0$:>WI  IТ,LQH  0hLd ~ t u`C ?( 0(C.` E } R =! .ti S0N EE D XC )0')AY  )ע ? 0E088FG \o}n  (HhLcL3 iJ i Lqp 0=rspnqopqlk`jZj0  j FL`H}FhȑFȽlFi0 h FFLFpvqwgneofLF pq7  G0i 0 FJJh1FqȱFpȱFk`B!}08`hEE D 8. =D}tui( TʩL`b!)    cȌaȌd b`aab}H8 hdaHcd8 cH hHH  \h hc` =Hh I8ih( t  ( t(!` L\}CJfCJfCJfCDfC` a  HII  INdh  `h  `n)8jHniPoijIjFIjFIjh` a } I 38  8H0 I  ' H LQ8j Y  8j NdY  &I &I &IHeH.p!}Iiq  `!.莿 2Jjj }.m Ȉ!m FG` ɩLQ z "} e Hi04 \ Ȍ  8 i h !`I0 `C Y8.`DOS SYS#} I  ` ~ݩ.C/`ba.m۩mѤC9 `C L] H  ,- '0 l $}, BLVDE`D1:AUTORUN.SYS8hhJ ȱHȱIȱBȱDȱEeeHHLV)  %}1*  ,,p-  0 I &  '0   Lw)l, 0  I&LD1:MEM.SAV&}E:D1:DUP.SYSE:D1:DUP.SYSE:D1:DUP.}J)1CD2:DOS.SYS n  * \*`آ R'S )ɀ@  U))% BError lo(}ading MEM.SAV or memory!  0* b*c*d*e* R Hd*JSDd*J-=e* 0c*ʈд =}MYDOS 4)}.50 -- Copyright 1988,˛Disks 1D- 2S- D: = D1: ~= =1-8.Dir of D1:-D8: *. Dir of D:A. *}Disk Directory K. Save MemoryB. Run Cartridge L. Load MemoryC. Copy File(s) M. Run at AddressD. Delete File(s) N. L+}oad MEM.SAVE. Rename File(s) O. Change Config.F. Lock File(s) P. Set DensityG. Unlock File(s) Q. Make DirectoryH. Wr,}ite DOS Files R. Pick DirectoryI. Initialize Disk S. Set RAMdisk #J. Duplicate Disk V. Set Verify Flag  ?莼-}( 0  =Select Item ( for menu):@  =ɛL)1L,*L,:W@ ,,L=No such item!.}L*, -L*, BNeed new file name! BNo drive or director0}ies allowed in new name!Lock Unlock Delete Lock which file?â-#Unlock which file?ɢ-$((H @ AQ/wDel1}ete what file?Ѣ-!((H @ ANJ =Answer 'Y' or 'N'h `B L?;(( ~=( ~= =? =Y ?Lj.H @ AhR ?2}R)L*,LM/L-Lz-File to rename, new name? @ A(9', ȱ:>0{ ПFull directory name?Z"L.Dire3}ctory to be used as 'D:'? @ A(5)L.(I: ȱޝL*, BInvalid directory!L?( 4}(0Li-File source, destination? '( @C۩2ڭ82ܭC B9'0 @(ߍeލd(DЍ( ? 9'5} A rBȱޙ':>Ȍ(C0J* .B :'ȱ/.* #,ɛȝ:' ߰ A L?,(0L*, '6}ut(:'3?&' .'Ƚ:'?&'  .ى'Q?''(#( ~= =-->' ~=7}Q =YR_o (J(  0?B݌''BK)`''utz0( >(L0L*,L?nDisk to FORMAT:8} YA B(UTލ1 =(Press for Enhanced Dns)Type to Format Drive 0: =AIYZNj[R VL9}?L*,D2:DUP.SYSDrive to write DOS files to? YAH1:*K)2J) Z wB hpJ) 2<2U:}TC٩1ة۩کL;Source, Destination (Sectors)? YA)((9'( SA)((((( @(0% =Inser;}t both disks, type = A( A((/( B(( BDrives not compatible!J(j(9'Hi''<}h(ɛy BInvalid options! @-&& @)׍&&(&&&۩ک&&&&8* <4&&&& <4=}8*8(ܭ(ݥ2C, BNot enough memory! ک&&`(Mh  & =L?&i &>}&&&mm   =  &((&թԥԍ(Ս(((( ( ((C2((?}ՠԍ((,(0"( (( =m(m( & &("L*,  ( AL4,(, =Insert DES@}TINATION disk, press =Nͼ J) b( 0K) ?((ԭ(խ( ( (((L4Drive, new density:A} YA9'ɛ BDrive unchanged.(ު90٨Ȍ(SD  ABL)xԌҭHӭ@ @ ʎӆ@B}ӭ@@ :  $ӹ @hөԥX` Aˠ =RAM disk present? =NL#8 =xlC}on or E type RAMdisk? =Aό  L   M A, A6: ' =No extra memory available!L#8L7 & & D}& =Use default config for 0)ȩ ~= =K? =NL7 =Size(K)? ? @FjFjFjFj: =Page seqE}uence? ? @o* =RAM disk drive no? = 09) `8 -8**H***) 9 Ȋ)h9 @@ʊ F}H'h(#''/'(ɛ ? @(@: 3 ʽ' L7 =Duplicated sequence number!L7 =Wrong numbG}er of entries!L7K큅쀄 =Verify WRITEs? ; =NumberH} of File Buffers? ? @  6 Lw),R( ';L*,Drive number or : =ɛLC99L60Ȍ( =Remove I}drive? =Y =Is drive configurable? =YЂ =High capacity drive? =Yy =Is drive double sided? =Y ; =TracksJ}/side? ? @#0M P( ; =Step rate? =4/ ; ';L*, =Drive size (in sectors)? ? @H(K}h *;L*,RAM disk drive no? 8L*,Verify WRITEs? ;L*, =WNPy`(`(  LABSAVE:filename,start,end(,init(L},run)) @TUH @Cp` 2< @؆8օڊ BInvalid START-END range!۩ @  @M} hԄՠAμȌZ wB04*  0$ڍXۍY֍T׍U,0LBLB #CL?ֆ׌`Load MEM.SAV from whaN}t file? 0#L*,L?Load from what file?) @TU&̩Z wB &0&-&а&𨭼INIZ'O}RV0II BNO CARTRIDGE!Ԇխ  )L?Run from what address? ?ɛ @P} BAddress must be 1-4 hex digits! BHILV n=`hh =HH` =0{a Hɛ n= n=h` nQ}=L*, = = pHH =hh`K: p `(((( i ɀ((L?(`(B'(0!HH''^R}>I^>(`^>DH(`(HI`(o5 ~= =( B( >@A (J wB0x((HHIIDDES}E B ?(CɈK(٢A ~= =( BL>(B^>((ڤ ܝHݝI VL_>L?(" B !B J) T} B(L& R XY( ?&:0H&((& ( .( & ( .(ʩ(U}`ލD&ߍEBIʎH( V0`ԩ ؠ@ȱ@ȱ)@ BError -- 000&`$8f 3AԄձG/ V}$<68i/(Ԧ`H&եԦ&&eԅheԅԊe(iL*@&&&&ԅL*@B ? 3A?*(ɛ:W}./2SX(0ȱ/.ɛ(ލ9'ި0#:Ȱ :ފ :ȱ: : CAD CAޥX}`(eޅީe߅`(` @L\A @TUȪ: BFile name not allowed!: )  i( =0+L Y}TUD BNot a disk file!(0` =Insert SOURCE disk, press =,(pӮ(A(O  1B AB1BZ} ` % 1(L/ b(de BJKO L?O` B((*(([}(`ȱޙ((:>Ȍ(`D:`OS.SYS,DOS.SYShh =L*,  VLJ C C,pLiLF#Խ٩Յ׆ \} LB`((:>Ȍ(`D:`OS.SYS,DOS.SYShh =L*,  VLJ C C,pLiLF#Խ٩Յ׆  H EI4AMYDOS 3.X16/RDOS 1.3 RAMDISK AUTORUN.SYS FILEAX;(6X;MYDOS 3.X16/RDOS 1.3 RAMDISK INSTALLATION PROGRAM2X^};<X; LOCAL ZERO PAGE RAMFX;P IOCBZ Zd PTRn NAMPTRx CLSFLG BOTHOK SVIOCBX;X; S_}YSTEM EQUATESX; HATAB ICMDB ISTATC IBUFD ILENH IAUXJX;X; MYDOS SYSTEM DEFINITI`}ONSX;RAMDKU  STATE "RDTEST0, CTEST66X;@&X; HARDWARE AND OS ROM DEFINITIONSJX;TPAGE40@^a} PORTBh AXLONr CIOVV|X; X; MISCELLANEOUS DEFINITIONSX;!IOCB ;;FREE IOCB FOR MY USE8X;b}-X; ROUTINES TO SAVE AND RESTORE CIO STATE"X; (ALLOWING NESTED CIO CALLS)X;SAVSTA$>SAVIOCBQIOCBZ9 PSVIOc}CB90 ISAVIOCB:X;RSTSTA$>&RESIOCBQSVIOCB90 PIOCBZ9:0D IRESIOCBN:XX;bX; CLOSE ANY IOCBlX;vd}CLOSEQ> ;;CLOSE ANY IOCB PICMD9 !CIOVX;X; OPEN FILEX;X; CALLING SEQUENCE:X; JSR SOPENX; .BYTE e}AUXX; .BYTE CMDX; .WORD BUFFER ADDRESSX; SOPEN; ;;LDA #IMM OPCODEX; &X; DO A READ/WRITE TYPE I/O REQUEf}STX; X; CALLING SEQUENCE:*X; JSR DOIO4X; .BYTE IOCBNO>X; .WORD BUFFER LENGTHHX; .BYTE CMDRX; .WORD BUFFg}ER ADDRESS\X;f DOIO,p7zPPTR7 PPTR%> Q@PTR7 DDOIO1 PIAUX9 EXTRCB DOIO1>3 Q@PTR7 h}PILEN93 Q@PTR7 PILEN9 XTRCB3 Q@PTR7$ PICMD9.38 Q@PTR7B PIBUF9L3V Q@PTR7` PIBUF9jCt,~i}OPTR?Q> OPTR5C5 CIOV;;DO I/O REQUESTINOIOER;;NO ERROR?)>FNOIOER;;MAYBE EOF?7&7j};;NO, DISCARD RETURN ADDR AND EXITC  NOIOER:X;>X; CHECK FOR 130XE, RETURNS Z FLAG IF 130XE MEMORY MAPPING(X;2k}CHKMAP%>< $PAGE40F$QPORTB;;SAVE CURRENT B-REG VALUEPN>Z 'PAGE40d3n!PPORTB;;TOGGLE MAP ENABLE BITxN> 'Pl}AGE40 PPORTB1 )PAGE40 &PAGE40 FRETRAMX;AX; CHECK FOR AXLON, RETURNS Z FLAG IF RAM DISK MEMORY MAPPINGm}X;Q> A PNAMEDKQ> XPNAMEDKQ> LPNAMEDKQ> O"PNAMEDK,Q> N6PNAMEDK@Q>J PAXLONTNn}>^ $PAGE40h%>r 'PAGE40|3!PAXLON;;TOGGLE MAP ENABLE BIT 'PAGE40N> PAXLON1 )PAGE40 &PAGE40o} RETRAM:X;"X; MAIN INITIALIZATION PROGRAMX;1ENTRY CHKMAP;;CHECK FOR 130XE MEMORY MAPPING#FGOTRAM;;IF SO, INSp}TALL RAMDISK"'RAMDKU;;ELSE, DISABLE RAMDISK:;;AND RETURNX;&GOTRAM SAVSTA0%>:'IAUXIOCBD%'CLSFLG;;ASq}SUME E: NOT THE SCREENNQ> EXFNDEDVRHATAB8b FGOTEDVl3v33)> DFNDEDV ESKIPBANX;GOTEDVQHATABr}8 HSKIPBANQHATAB8R> HSKIPBAN PCLSFLGX; DOIO   LEN1   MSG1*X;4%SKIPBANQ>;;MAs}KE D8: THE RAMDISK> PRAMDKUHX;R%X; FORMAT THE RAMDISK (DRIVE D8:)\X;f $>IOCBp SOPENz   DRIVE8 GBt}ADIOX;#X; COPY DUP.SYS FROM D1: TO D8:X; $>IOCB QCTESTR> C HOPEN1 SOPEN   NDCSYS !Ru}EADIT X;$ %OPEN1 SOPEN;;OPEN DUP.SYS ON D1:.  8  B NDUPSYSL X;V #READIT DOIO;;READ DUP.SYS FILE` IOCBj  v}t  ~  BSS X; QISTATIOCB "R>;;CONTINUE ONLY IF EOF HERE HBADIO QILENIOCB PFILELEN QILENw}IOCB "PFILELEN;;SAVE SIZE OF DUP.SYS $>IOCB  CLOSE;;CLOSE FILE X; &$>IOCB;;OPEN IOCB #2 TO D8:DUP.SYS QCTEST x}R> C HWRTRAM SOPEN(  2  < NDUP8CF !DOWRITP X;Z WRTRAM SOPENd  n  x NDUP8 X; )DOWRIT DOIOy};;AND WRITE COPY FROM D1: IOCB FILELEN     BSS BADIO$>IOCB;;CLOSE IOCB 2  CLOSE;;AND EXIT QRDTEST z}R>L &HNOTRD;;IF NOT RDOS, MUST BE MYDOS QRDTEST R> D &HNOTRD;;JMP AND 'DOS.SYS' PRESENT? TSTATE ;" !WSTAT{}E;;SAY MEM.SAV IS ACTIVE, !CHGNAM6 X;@ NOTRD$>J CKMDS2T FCHGNAM;;JUST TO BE SAFE!^ Q>0h R9r HCKMDS| Q>|} R9 HCKMDS Q>. R9 HCKMDS Q>` R9 (HMAY42;;NOT <4.2, MAYBE 4.2 OR LATER Q> 2 R9 HCKMD}}S 2 R9 HCKMDS FNOT42& MAY42R90 HCKMDS: .NOT42T9;;SAY MEM.SAV IS ACTIVE TO MYDOSD ;N W9X X;b C~}HGNAMQ>l PBOTHOKv Q> PNAMPTR Q> PNAMPTR QCTEST R> C HSCANFD Q> PNAMPTR 2SCANFDQ> D;;F}IND DUP.SYS AND MEM.SAV FILENAMES %> R@NAMPTR7 FGOTD NOTDRV#NAMPTR HSCANFD #NAMPTR QNAMPTR R>}8* FCLOSER4 CKD0R>> HSCANFDH &CLOSERQCLSFLG;;IF STANDARD SCREENR FEXIT\ DOIOf  p LEN2z   MSG2 X}; EXIT!RSTSTA X; GOTD3;;Y=1 Q> 1 R@NAMPTR7 HNOTDRV 3;;Y=2 Q> : R@NAMPTR7 HNOTDRV 3;;Y=3 Q@NAM}PTR7 3;;Y=4R> M$ FCKMEM.R> D8 HNOTDRVBQ> UL R@NAMPTR7V HNOTDRV` 3;;Y=5jQ> Pt R@NAMPTR7~ HNOTDRV QC}TEST$>R> C HSET83 R@NAMPTR7 HNOTDRV SET83Q> . R@NAMPTR7 HNOTDRV3Q> S  R@NAMPTR7 HN}OTDRVA( LBOTHOK2 PBOTHOK<%>FQ> 8P P@NAMPTR7Z *BOTHOKd INOTDRVn JNOTDRVx KCLOSERX; CKMEMQ> E R@}NAMPTR7 HNOTDRV3$>@Q> M R@NAMPTR7 FSET8 !NOTDRVX;MSG1 }====== A Setting U}p ANAMEDK A130XE Ram DiskA= ===== A A" AA,LEN1 MSG16X;@ MSG2 }}JLEN2 MSG2TX;^DRIVE8 AD8:A=hX;rNDUP8 AD8:DUP.SYSA=|X;NDUPSYS AD1:DUP.SYSA=X;NDUP8C AD8}:DUPC.SYSA=X;NDCSYS AD1:DUPC.SYSA=X; BSS  ENTRYNDUPSYS AD1:DUP.SYSA=X;NDUP8C AD8M8: `ڕ ` BLV8hhՠԐJ ȱԝHȱԝIȱԝBȱԝDȱԝEeԨeHH Vhh`@I@ȍ }I@ӈ@@;A:X:L:O:N:I@@ȍό@Iψ@@` h8 ` 8kةE  } 8E o:  8:0^ 6C 8:L*9 8: 8 :cɈ4ij9hi9 8 6C 8:Le9 8: 8 : }80L3D  8n L980݂݀.݃`݄݄݆݇8~٩֩׭6CשD ץ }8 8 :L 8ȩ1ȩ:ȱM@DƩUȩPй6CЫȩ.ФȩSНم٠8$PpEЄȢ@M }L9} Setting Up 130XE Ram Disk }D8:D8:DUP.SYSD1:DUP.SYSD8:DUPC.SYSD1:DUPC.SYS } EI)AMYDOS 4.3 RAMDISK AUTORUN.SYS FILEAX;(-X; MYDOS 4.3 RAMDISK INSTALLATION PROGRAM2X;<X; LOCAL ZERO P}AGE RAMFX;P IOCBZ Zd PTRn NAMPTRx CLSFLG BOTHOK SVIOCBX;X; SYSTEM EQUATESX;}MEMTOP HATAB ICMDB ISTATC IBUFD ILENH IAUXJX;X; MYDOS SYSTEM DEFINITIONS}X;RAMDKU " STATE ,RDTEST06 CTEST6@X;J&X; HARDWARE AND OS ROM DEFINITIONSTX;^PAGE40@h POR}TBr AXLON| CIOVVX; X; MISCELLANEOUS DEFINITIONSX;!IOCB ;;FREE IOCB FOR MY USE0X;X; C}LOSE ANY IOCBX;CLOSEQ> ;;CLOSE ANY IOCB PICMD9 !CIOVX;X; OPEN FILEX;X; CALLING SEQUENCE:X; JS}R SOPEN&X; .BYTE AUX0X; .BYTE CMD:X; .WORD BUFFER ADDRESSDX;N SOPEN;X ;;LDA #IMM OPCODEbX;l&X; DO A READ/}WRITE TYPE I/O REQUESTvX;X; CALLING SEQUENCE:X; JSR DOIOX; .BYTE IOCBNOX; .WORD BUFFER LENGTHX; .BYTE }CMDX; .WORD BUFFER ADDRESSX; DOIO,7PPTR7 PPTR%> Q@PTR7  DDOIO1 PIAUX9  EXTRCB* DOI}O1>43> Q@PTR7H PILEN9R3\ Q@PTR7f PILEN9p XTRCB3z Q@PTR7 PICMD93 Q@PTR7 PIBUF93 Q@PTR7 }PIBUF9C,OPTR?Q> OPTR5C5$ CIOV;;DO I/O REQUEST.INOIOER;;NO ERROR?8)>BFNOIOER};;MAYBE EOF?L7V&7;;NO, DISCARD RETURN ADDR AND EXIT`Cj NOIOER:tX;~>X; CHECK FOR 130XE, RETURNS Z FLAG IF 130XE MEM}ORY MAPPINGX;CHKMAP%> $PAGE40$QPORTB;;SAVE CURRENT B-REG VALUEN> 'PAGE403!PPORTB;;TOGGLE MAP ENA}BLE BITN> 'PAGE40 PPORTB1 )PAGE40  &PAGE40 FRETRAMX;(AX; CHECK FOR AXLON, RETURNS Z FLAG IF RAM DI}SK MEMORY MAPPING2X;<Q> AF PNAMEDKPQ> XZPNAMEDKdQ> LnPNAMEDKxQ> OPNAMEDKQ> NPNAMEDK}Q> PAXLONN> $PAGE40%> 'PAGE403!PAXLON;;TOGGLE MAP ENABLE BIT 'PAGE40N> PAXLON1 )}PAGE40" &PAGE40, RETRAM:6X;@ X; GET THE NEXT FILE TO COPYJX;TNEXTFQ>UFILE^ PIBUF0hQ>UFILErPIB}UF0|Q> PICMD0Q> PILEN0Q>PILEN0$>0 CIOV; GNEXTFX QUFILER> 0 ENEXT}FX$>%>CPL1QUFILE8R> 0& DDOEXT0 PRFNAME9:2D3N)> X DCPL1bDOEXTQUFILE lR> ;;spacev FEX}TEXQ> . PRFNAME92%> CPL2QUFILE8R> 0 DEXTEX PRFNAME923)>  DCPL2 EXTEXQ> PRFNAM}E9 X;$> CPL3QRFNAME9*PNDUP894 FCPXIT>2H HCPL3RX;\CPXITQ>RDDIRf PIBUFpQ>RDDIRzP}IBUFQ>NDUP8 PIBUF Q>NDUP8PIBUF , NEXTFX:X;;X; COPY A SINGLE FILE FROM D1:RAMDI}SK:** TO THE RAMDISKX; COPY$>Q> PIAUX9Q> PICMD9 CIOV GCLOSIT$ $> . Q>8 PIAUX9B Q>L }PIAUX9V Q>` PICMD9j CIOVt GCLOSIT~ QIBUF PBFSAV QIBUF PBFSAV COPYL$> Q> PICM}D9 Q>BSS PIBUF9 Q>BSS PIBUF9 QBUFLEN PILEN9 QBUFLEN PILEN9 CIOV ICOPYFL( )>}2 HCANTCP< COPYFL$> F QILEN9P PILEN9Z QILEN9d PILEN9n QIBUF9x PIBUF9 QIBUF9 PIBUF}9 Q> PICMD9 CIOV GCANTCP QISTAT R> HCOPYL CLOSIT$> Q> PICMD9 CIOV $>  Q> } PICMD9" CIOV, :6 X;@ CANTCP CLOSITJ QBFSAVT PIBUF ^ QBFSAVh PIBUF r Q>!| PICMD $> ;;DELE}TE COPY IF ERROR! CIOV : X; "X; MAIN INITIALIZATION PROGRAM X; ENTRY$> SAVSTAQIOCBZ9 PIOCBSAV9 0 }ISAVSTA + CHKMAP;;CHECK FOR 130XE MEMORY MAPPING #FGOTRAM;;IF SO, INSTALL RAMDISK "'RAMDKU;;ELSE, DISABLE RAMDISK :;};AND RETURN X;& GOTRAM%>0 'IAUXIOCB: %'CLSFLG;;ASSUME E: NOT THE SCREEND Q> EN FNDEDVRHATAB8X FGOTEDVb 3}l 3v 3 )> DFNDEDV ESKIPBAN X; GOTEDVQHATAB8 HSKIPBAN QHATAB8 R> HSKIPBAN PCLSFLG X;} DOIO   LEN1    MSG1 X;* 0SKIPBANQRAMDKU;;MAKE D8:?? POINT TO RAMDISK4 L> 0> PDRIVE8H PNDUP8}R PNDUP8C\ PLABEL8f X;p %X; FORMAT THE RAMDISK (DRIVE D8:)z X; $>IOCB SOPEN     DRIVE8 IC}OPIES !EXIT X; #X; COPY DUP.SYS FROM D1: TO D8: X; COPIES$>0 Q> PICMD9 CIOV CLOSIT;$ QMEMTOP}. S>BSS8 PBUFLENBQMEMTOPL S>BSSV PBUFLEN` QCTESTjR> Ct HOPEN1~Q>NDCSYS PIBUFQ>NDCS}YSPIBUFQ>NDUP8C PIBUF Q>NDUP8CPIBUF  !CPYDUPX;OPEN1Q>NDUPSYS PIBU}FQ>NDUPSYSPIBUF Q>NDUP8 PIBUF Q>NDUP8(PIBUF 2CPYDUP COPY<X;F)X; COPY }CONTENTS OF RAMDISK DIRECTORYPX;ZQ>RDDIRd PIBUF0nQ>RDDIRxPIBUF0Q>PIAUX0Q> PI}AUX0Q> PICMD0$>0 CIOV GCPYXITX;CPYTO8 NEXTF ECPYXIT COPY !CPYTO8X;,X; RESET LO}CATION OF DUP.SYS AND MEM.SAV"X;,CPYXITQRDTEST6R>L@&HNOTRD;;IF NOT RDOS, MUST BE MYDOSJQRDTESTTR> D^&HNO}TRD;;JMP AND 'DOS.SYS' PRESENT?h TSTATEr;|!WSTATE;;SAY MEM.SAV IS ACTIVE !CHGNAMX; NOTRD$> CKMDS2FCHG}NAM;;JUST TO BE SAFE!Q>0R9 HCKMDSQ>R9 HCKMDSQ>.R9 HCKMDSQ>`R9&(HMAY42;;NO}T <4.2, MAYBE 4.2 OR LATER0Q>:2DR9N HCKMDSX2bR9l HCKMDSv FNOT42MAY42R9 HCKMDS.NOT42T9};;SAY MEM.SAV IS ACTIVE TO MYDOS;W9X;CHGNAMQ> PBOTHOKQ> PNAMPTRQ>PNAMPTR QCTEST}R> C  HSCANFDQ> PNAMPTR*2SCANFDQ> D;;FIND DUP.SYS AND MEM.SAV FILENAMES4%>> R@NAMPTR7H FGOTDRNOTDR}V#NAMPTR\ HSCANFDf#NAMPTRpQNAMPTRzR>8 FCLOSER CKD0R>И HSCANFD&CLOSERQCLSFLG;;IF STANDARD SCRE}EN FEXIT DOIO  LEN2   MSG2X; EXIT$>RSTSTAQIOCBSAV9 PIOCBZ90 IRSTSTA$:.!@ :}8X;BGOTD3;;Y=1LQ> 1V R@NAMPTR7` HNOTDRVj 3;;Y=2tQ> :~ R@NAMPTR7 HNOTDRV 3;;Y=3 Q@NAMPTR7 3;;Y=4R}> M FCKMEMR> D HNOTDRVQ> U R@NAMPTR7 HNOTDRV 3;;Y=5Q> P  R@NAMPTR7 HNOTDRV QCTEST($>2R> }C< HSET8F3P R@NAMPTR7Z HNOTDRVd SET83nQ> .x R@NAMPTR7 HNOTDRV3Q> S R@NAMPTR7 HNOTDRVA LBOT}HOK PBOTHOK%>LABEL8Q> 8 P@NAMPTR7 *BOTHOK INOTDRV JNOTDRV KCLOSERX;" CKMEMQ> E, R@NAMPTR76} HNOTDRV2@3J$>@TQ> M^ R@NAMPTR7h FSET8rNOTDRV2!NOTDRV|X;MSG1 }====== A Setting Up} ANAMEDK A130XE Ram DiskA= ===== A A AALEN1 MSG1X; MSG2 }}LEN2 MSG2X; BFSAV  BUFLEN X;DRIVE8 AD8:A=&X;0NDUP8 AD8:DUP.SYSA=:X;DNDUPSYS AD1:DU}P.SYSA=NX;XNDUP8C AD8:DUPC.SYSA=bX;lNDCSYS AD1:DUPC.SYSA=vX;RDDIR AD1:RAMDISK:ARFNAME A**A A} AFILE A AUFILE A AX;IOCBSAV X; BSS  ENTRYAME A**A Ao8 Setting Up 130XE Ram Disk }D8:D8:DUP.SYSD1:DUP.SYSD8:DUPC.SYSD1:DUPC.SYS 0w4 BLV8hhՠԐJ ȱԝHȱԝIȱԝBȱԝDȱԝEeԨeHH Vhh`@I@ȍI@ӈ@@;}A3X3L3O3N3I@@ȍό@Iψ@@`lt4urxy0 V80al40Zl40 T4 w4 }.T4 l40 T4 T4T44IT4Ud4e`JB V0s JKB V0]d4e4B}D4E4H4I V@ 8H9I4D5E B V0SɈЯ B V B V` 14d4d!b V` x}4 T0 `kةE  0E 3  044243 04LW30 B V 18阍4446C}=T4U1d4eL2&T4Ud4e 51It4u{zr0 V0 0 51L20L3D  8n L380݀}݂.݃`݄݄݆݇8~٩֩׭6CשD+ץ8 0 4x4 `l }ȩ1ȩ:ȱM@DлUеȩPЮ6CРȩ.ЙȩSВم٠8$PpE Ȣ@ML:3} Setting }Up 130XE Ram Disk }D8:D8:DUP.SYSD1:DUP.SYSD8:DUPC.SYSD1:DUPC.SYSD1:RAMDISK:** } 1 }D8:D8:DUP.SYSD1:DUP.SYSD8:DUPC.SYSD1:DUPC.SYSD1:RAMDISK:**  This is the official release of MYDOS version 4.50.This DOS is now in the Public Domain!Please read the documenta}tion in theARC file for further details. Charles Marslett & Bob Puff 11/24/88e read the documentai MYDOS Version 4 User Guide } Revision 4.50 for Atari Home Computers Copyright (}C) 1988 by WORDMARK Systems and the authors: Charles Marslett } 2705 Pinewood Dr. Garland, TX 75042 CIS: 73317,3662 } UseNet: CHASM@KILLER.DALLAS.TX.US and } Robert Puff Suite 222 2117 Buffalo} Rd. Rochester, NY 14624 GEnie: BOB.PUFF } This software may be freely used and distributed provided that this copyright notice is left intact, and pro}vided that: (1) The source code in machine readable form is provided with any binary distribution, or mad}e available at no additional cost to the recipients of the binary distribution. (2) A binary version of a} derivative work may be sold for a reasonable distribution charge (less than $50), and the source code in m}achine readable format must be available. (3) A derivative work may not impose and restriction on the free } distribution of the source code. MYDOS User Manual page 1 Version 4.50} MYDOS Version 4 User Guide by Charles Marslett & Robert Puff } I. INTRODUCTION The disk operating system described in this manual is modeled after the ATAR}I (trademark of ATARI Corp.) disk operating system (DOS 2), and may be considered an extension of the very "user frie}ndly" concepts introduced with this operating system. The ATARI 810 disk drive and the ATARI 1050 disk drive a}re well supported by the DOS 2 and DOS 2.5, but those DOSs have very limited provision for higher capacity doub}le density disks (such as the XF-551), and large RAMdisks. II. SYSTEM REQUIREMENTS } MYDOS 4.50 is intended to function as nearly as possible like ATARI DOS 2. This means it occupies as little me}mory as possible, supports all the system calls supported by DOS 2, and in most cases uses exactly the same p}arameters to the system calls. This means compatibility, yet MYDOS goes far beyond this. On a standard si}ngle-sided, single density disk, MYDOS will read and write to a DOS 2.0 or 2.5 format, and vice versa. There are a few p}rograms that will not run under MYDOS because of one or both of the following reasons: direct "illegal" calls i}nto the main DOS or FMS code, and relying upon exact directory data (i.e., 3 digit sector counts). MYDO}S will run on any 8-bit Atari computer with at least one disk drive (that is compatible with DOS 2). MYDOS 4.50 has} full READ compatibility with the DOS 2.5 format, but will only write to the first 720 sectors of the disk. (MY}DOS has its own format for enhanced density disks that allow full access.) It is not compatible at this time with} the OS/A+ version 4 format, or the SpartaDOS format. Up to eight disk drives (or nine if the ninth is a RAM}disk) may be accessed, but only one is required. The resident part of the operating system (DOS.SYS) suppor}ts all documented functions of the DOS 2 operating system, so MYDOS supports most available software for the ATARI }home computers. The memory available to a program is affected only by the number of files to be open co}ncurrently: each disk file that may be open at the same time requires 256 bytes of buffer space. Unlike Atari DOS 2, } memory requirements are independent of the number of disk drives or the sector size and density. The need for a 256} byte buffer for each concurrently open file means that programs that keep large numbers of files open will have l}ess memory available than under DOS 2 and as a result some programs (mostly older versions of compilers and language } interpreters) will not have enough memory to run. With three file buffers (which is the default) and no resident} drivers (such as for RS232 support), MYDOS 4.50 permits binary programs to load as low as $1F00. MYDOS Us}er Manual page 2 Version 4.50 MYDOS 4.50 also contains a very vers}atile RAMdisk driver than can handle upgrades up to 1 megabyte that follow the guidelines of the expanded memo}ry on the 130XE, or the Axlon upgrade for the 800. MYDOS also has a feature that will determine how much memory you} have, and set itself up for your machine (For XE-compatible upgrades only) automatically. III. M}ENU FUNCTIONS The menu provided by MYDOS 4.50 identifies 18 common tasks that might need to be done. R}ather than having to write a utility program (only a few lines of BASIC would perform most of the menu functions) }or even remember the name and format of a DOS command, these tasks can be handled by entering a single letter. MY}DOS responds with a question asking for the details of the operation (which file, what density, "are you sure}?" or whatever else it might need to know). After you enter the remaining information, the function is performed }and another prompt is displayed. You should notice two interesting things about the menu: the second} line on the screen identifies the disk drives present on the system and what they appear to MYDOS to be (single or do}uble density, RAMdisk or high capacity hard disk). The next line describes the current default directory (t}hat directory used when a disk is referenced by "D:" (without a unit number after the "D" - this featur}e will be described later). The second thing to notice is that after commands fill the screen, the menu "rolls" off  }the top: some DOS programs (e.g. Atari DOS 2) keep the menu, MYDOS does not. This permits more information to  } be displayed when a long sequence of commands are done, or when many files are copied. To restore the menu to th }e screen, just type RETURN, and the initial screen will be restored. If you wish to abort a command } at any point, simply press BREAK. This will return you to the prompt. Pressing BREAK or RESET while writing t }o a disk will not cause any damage; however, the file you were writing will probably not be displayed in the directory}, and the free sector count may be incorrect. When entering a filename, the drive number should be en}tered, followed by a ":", and then the rest of the filename. If the drive number and ":" are not entered, th}e default drive (and directory) will be used. In the [C]opy file option, entering the drive number only will re}sult in copying every file on the main directory of that drive. A drive may be specified like this: "1", "1:", or "D1}:". If you wish to specify the file or set of files to be referenced, the drive format must include a ":" or i}t must be omitted entirely (for the default drive and directory). Examples: D1:Test.obj, 1:TEST.ASM, or D2TEST (re}ally D1:D2TEST) are valid file names, but d1:Test.obj or 1TEST.ASM are not. The file name itself is eith}er fully specified (referring to the MYDOS User Manual page 3 Version 4.50 } entire name as it is on the disk) or includes "wild card" characters (specifying a set of files). A fully specified} file name consists of one to eight characters followed by a period (".") and zero to three additional "extender" }characters. The characters in the file name may be upper or lower case letters, numbers, the underscore ("_") or the } character "@". The only exception is the first character - it may not be a number. The "wild card" characters are }the characters "*" and "?": the character "*" or the sequence ".*" end either the 8 character or the 3 } character field in the file name and match all possible characters. The character "?" matches only one single file } name character. Examples: "*.BAS" will match every file ending with .BAS. "TEST?.*" will match files TEST.BAS, T}EST1.OBJ, but will not match TESTER.BAS. In addition to the main directory (containing up to 64 files o}r directories), each MYDOS disk may also contain additional subdirectories of 64 files each. You m}ay use one of two possible characters to separate the subdirectory name(s): the ":" colon, or the ">" greater- }than sign. If the main directory contained the subdirectory BAS and the file GRAPHIC1 were in the subdirectory fil!}e BAS, it could be referenced with the filename BAS:GRAPHIC1 (or BAS>GRAPHIC1). If instead, GRAPHIC1 were "}in the subdirectory GR.dir which in turn were in BAS, then the reference would be to BAS:GR.dir:GRAPHIC#}1 (and so on with as many names as needed). Because there is no limitONnumber of subdirectories on a disk (other $} than the buffer size of programs using the directories and number of available sectors on the disk), a single %}diskette can contain hundreds of files if necessary. Each subdirectory is a 8 sector file to its parent direct&}ory. Thus it is limited to 64 files or subdirectories like the 8 sector root directory. If a d'}isk directory includes the files TEST.ASM, TEST.OBJ, TEST.C, TEST.ALM, TEASET.DOC, TRACE.FIL, and BETS.LST(}, the specification "t*.*" will not match any file name (since "t" and "T" are not the same letter to MYDOS). The)} specification "T**" will match all but "BETS.LST" (since the others all begin with the letter "T"). The specific*}ation "?E??.*" will match the first four files and the last one (since the 8 character part of the file name must h+}ave no more than 4 characters in it and the second character must be an "E"). The specification "*.?" will ma,}tch only the file TEST.C (since it is the only file name with a single character in the 3 character field). The -} specification "????E**" will match the files TEASET.DOC and TRACE.FIL and none of the others (since the 8 character p.}art of the file name must have at least 5 characters and the fifth must be an "E"). Note that MYDOS does not a/}lways require the "." period to separate the extender from the 8 character filename. Examples: FILENAME.EXT 0} could be entered as FILENAMEEXT; TES*.* could be TES**, but TEST.* could NOT be entered as TEST*. IV. 1}THE MENU COMMANDS A. List a Directory or a Set of Files MYDOS User Manual page 4 2} Version 4.50 The "A" command will list the files on a disk with their sizes, followed by3} a line specifying tONnumber of free sectors on the disk. If the line starts with a "*", the file has been locked and 4}may not be modified or deleted without first being unlocked. A ":" before the file name marks those files that5} are subdirectories. These files cannot be read or written as other files but only accessed as directories 6} or deleted (if the directory is empty). File lengths and the number of free sectors are reported as 4 digit decimal 7}numbers (most other Atari DOSs report the values as 3 digit numbers). If the number of free sectors on 8}a drive exceeds 9999, the free sector line will contain a 5 digit number, and be one character longer. If a 9}file is longer than 9999 sectors, the blank between the file extender and its sector count will contain the most signif:}icant digit (the line size does NOT change). No indication is made of the format of the file but ATAR;}I DOS 2.0, 2.5, and MYDOS are the only three supported file formats. SpartaDOS or OS/A+ Version 4 files <}must be converted to single or double density Atari DOS 2 files first in order to be usable from MYDOS. See S=}ection 6 for further directory information if you need more detail. The "A" command will list the >} directory informationOe screen if only one file specification is entered. If two are entered, the second is taken?} as a destination file and will be overwritten (or appended to if the /A flag is used) with the directory data. Use@} "2,D1:DIR.TXT" to save the directory data of drive 2 to a text file DIR.TXT on drive 1. The entry "1,P:" will gA}ive you a printout of the directory of drive 1. To list the files in a subdirectory, enter tONnameB} of the directory followed by a ":" colon or ">" greater-than sign. For example, "1:TEST:BAS:" will list tC}he files in the subdirectory BAS which in turn is in the subdirectory TEST in the main directory of the diskettD}e in drive 1. Using "D1:TEST>BAS>" will achieve the same results. B. Run the Cartridge E} The "B" command returns controlOe cartridge in the left (or only) cartridge slot. If no cartridge is present, F}an error is displayed, and nothing happens. No additional information is required, so if a cartridge is G}present, it is entered after loading MEM.SAV (if enabled) or immediately. C. Copy a File or a Set of FiH}les The "C" command is used to make another copy of one or more files of data. The two file speciI}fications asked for after entering the "C" identify the source and the destination of the information being copJ}ied. Either may be fully specified disk file or a device MYDOS User Manual page 5 K}Version 4.50 specification (such as E:, P: or one of the RS232 ports R1: to R4:). The destination may bL}e a set of disk files (specified with "*" and "?"s) only if the source specifies a file name for the destination to M} use. The source may be a set and the destination a single disk file, but unless the "/A" modifier is specified to appN}end each copied file to the end of the previously copied files, only the last source file will remain on the destiO}nation disk. Note that the "C" command always uses the full memory space for a copy operation (unlike AP}TARI DOS 2) and as a result, it will always invalidate MEM.SAV if it is used. Any pending program cannot be rQ}estarted after a "C" or "J" command. There are several options when entering files to copy. As with alR}l filename inputs, the default drive and directory (whatever "D:" is equal to on the top status line) will be uS}sed if Dn: is not specified. Using "/Q" at the end of the line will query you for each source file it finds (usefuT}l for copying certain files but specifying *.*) if you wish to copy it. Using "/S" will copy all files EXCEPT thU}ose with the first letter of the extender being "S" (will omit all *.S??). This emulates DOS 2.0's [O] copy file optiV}on, and is useful when you want to copy all files except .SYS files. The last option is the "/X" parameter. This wW}ill prompt you for disk swaps, even if the source and destination drives are not the same number. Here are some exX}amples of using the [C]opy file(s) command: "TEST.BAS" will copy the file TEST.BAS on the default drive (andY} directory) to the same drive, but prompt you for the destination. (Same as the [O] command in DOS 2.0.) "DZ}1:TE*.*,3" will copy all files on drive 1 starting with "TE" to drive 3. "D4:DIR>*.TXT,E:/Q" will copy all file[}s in the DIR directory of drive 4 ending with .TXTOe screen, but will query you before each one. "2:ADD,2:LIST/A" \} will append the data in the file ADD on drive 2 to the file LIST on drive 2. D. Delete a File or Set ]}of Files The "D" command will remove all files that match the file specification entered, askin^}g for confirmation before each one is removed. The "Delete file xxx?" prompts may be disabled by adding "/N" _} to the filename. In this case, all the matching files will be removed "quietly", and the only further indication y`}ou will see is the prompt for the next command. E. Rename a File or Set of Files The "a}E" command changes the name of the source file or files to match the specification in the destination. Unlike othb}er file specifications, the destination specification MUST consist of a single file name: it must not contc}ain any directory names or a disk drive number. For example, "D2:TEST>BASIC>NOTPNT.BAS,RANDIO.BAS" is MYDOS Usd}er Manual page 6 Version 4.50 the line entered to change the name of a filee} in the directories "D2:TEST>BASIC>". To change the name of the directory "BASIC" to "ATBASIC", the line wouldf} look like "D2:TEST>BASIC,ATBASIC". One word of caution: Never rename more than one file to another name without g}wildcards in the destination. For example, renaming "*.*" to "TEST" would rename EVERY file to "TEST", making it impq}BB#DOS SYSB6'DUP SYSB,]RAMBOOT M65BRAMBOOT AUTB9RAMBOOT3M65B RAMBOOT3AUTBREAD ME BMAIN DOCossible to retrieve files other than the first one! F. Lock a File or Set of Files The r} "F" command limits accessOe files identified. "Locked" files may not be deleted, renamed, added to, or replaced ws}ithout being first unlocked with the "G" command. When a directory is listed, the files that have been locket}d will be marked with an "*" in the first column. The files that are locked may be read or loaded and executed noru}mally, only modification or removal are prohibited. A locked directory cannot be deleted or renamed and no files v}may be written to it. The files already in it are not locked however. MYDOS will not ask you for cow}nfirmation on each file, "Lock xxx?" unless you specify this feature by adding "/Q" to the filename. G.x} Unlock a File or Set of Files The "G" command removes the limitations imposed on a file when it is y}"locked" using the "F" command. It does not alter the file or otherwise change the way the file is accessed or usez}d. The same function may be performed in a program through the CIO function to "unlock" a file. {}As with the "F" function, MYDOS will not ask you for confirmation with each file to unlock, unless you sp|}ecify the "/Q" parameter after the filename. H. Write MYDOS to a Disk The "H" command}} is used to make a bootable copy of the current MYDOS 4.50 files in memory. The two files created or rewritten are ~} "DOS.SYS" and "DUP.SYS". "DOS.SYS" is the permanently resident file management routine accessed through CIO an}d the small interface package that loads and saves MEM.SAV (an image of the part of memory used to hold the non}resident part (DUP.SYS) of MYDOS), and the code to load the menu portion of MYDOS ("DUP.SYS"). The file "DUP.SYS" is } a standard binary load file containing the part of MYDOS that is overwritten when a program is loaded into me}mory. Neither of these files may be interchanged with any other version or type of disk operating system; bo}th should be treated as a single object. Never copy only DOS.SYS or only DUP.SYS to a disk without copying the } other, unless you will never access the DUP.SYS menu (called by typing "DOS"). The files writtenOe disk by th}e "H" command will reflect the configuration parameters currently in memory, which may MYDOS User Manual } page 7 Version 4.50 be different from the ones active if the system were rebooted }from the master disk again. (See Section IV.O., configuring the system, for the definition of the configurati}on parameters provided in the system and how to specify a modified configuration.) I. Initialize a Disk}ette The "I" command is used to "Format", or prepare a new disk for use with the MYDOS operating syste}m, or to remove all the files on an old disk. The result of the "I" command is a completely empty disk. The only} data on the diskette is that system provided information defining the space available and the empty main directo}ry. If the drive number is followed by a "/N" parameter, the diskette will not be reformatted, but just "eras}ed" (the directory sectors will be rewritten). If a disk has recently been formatted, this is the fastest w}ay to remove all the files on a diskette, rather than to use the "D" command. Use this option ONLY if you know the disk} was good, for this does not verify the integrity of the disk. Due to a bug in some hard disk interfaces, thi}s "/N" parameter may be needed to initially format the hard disk partitions. A diskette may also b}e formatted in the Atari 1050 enhanced format by responding to the question "(Type [A] to format in Enhan}ced) Type [Y] to format drive x:" with a "A" (presuming the drive is a 1050 drive or compatible with the 1050). Th}e diskette is, however, not compatible with the diskettes similarly created by DOS 2.5. The MYDOS diskette will }not be readable by DOS 2.5, but DOS 2.5 enhanced disks can be fully read by MYDOS. An additional note: }it is a good idea to set the density of the drive you are about to format, unless the drive is not capable of d}ouble density. (see the "P" command for information on setting density.) Otherwise, MYDOS will format the drive} in the density of which it was last accessed. J. Duplicate a Diskette The "J" command} copies all the information from one diskette to another. The information to be copied form the source diskette is } determined by specifying a starting and an ending sector number. If the range is not stated, the sectors marked a}s in use in the DOS bit map (on the VTOC sectors) are copied. The VTOC may be constructed by Atari DOS 2, any ve}rsion of MYDOS or any other compatible operating system. Specifying a sector range is done by add}ing two numbers separated by a dash and enclosed in parentheses to the end of the drive specification(s). F}or example, to copy sectors 19 through 54 (tracks 1 through 3) from drive 1 to drive 3 without formatting the di}skette in drive 3, the command line could be "1,3/N(19-54)". To copy the entire disk from drive 1 to drive 2 aft}er formatting the diskette in drive 2 the command could be "1,2(1-720)". This is the MYDOS User Manual } page 8 Version 4.50 proper way to duplicate a non-MYDOS compatible diskette (of cour}se, copies of "copy protected" disks will not normally be usable after copying but data disks for some word} processors and games can be backed up this way). Enhanced density disks may be duplicated in the same manner: "1,}2(1-1040)". If the destination disk is already a properly formatted diskette, the "/N" modifie}r may be entered after either drive number to skip the formatting of the destination drive. Otherwise, the de}stination diskette will be formatted before the data from the source is copied to it. That is, either "1/N,2" or }"1,2/N" will copy from drive 1 to drive 2 without first formatting the diskette in drive 2. No}te that the "J" command, like that in ATARI DOS 2, will use all of available memory to duplicate the diskette: this m}eans that if memory has been saved using the MEM.SAV file, it will no longer be valid. Any pending program c}annot be restarted after a "C" or "J" command. K. Save Memory to Disk The "K" command} builds a binary load file containing the data from the memory area specified, as well as adding an initialization } and a run vector address if specified. If the file is not to execute an initialization routine on being loaded, the} initialization vector should be omitted. If it is not to run on being loaded, the run vector should also be} omitted (trailing commas need not be entered). If either vector is entered as zero, that is equivalent to omitting } it. Note that the starting and ending addresses of the program and both entry points are all specified as hex n}umbers. You may append data to another file by using the "/A" parameter. This command may also be used for just }adding a Run address to a binary file. Example: "D1:PROGRAM.OBJ/A,0,0,,4000" would add the run address of $4000 to } the program "PROGRAM.OBJ" on drive 1. If MEM.SAV is active when the "K" command is entered, the } MEM.SAV file is loaded before writing the file to the disk. L. Load Memory from a File/Disable MEM.SAV } The "L" command takes a binary load file from the disk and loads it into memory. The load file's initia}lization routine(s) will be executed and the program started at its run address unless the "/N" parameter is ad}ded to the file name. If the file is not a binary file, you will be returned with an "Error -- 180". A binary file th}at is corrupted will return an "Error -- 181". This command also disables the MEM.SAV feature before }loading and executing the program. To just disable MEM.SAV, press "L", then [RETURN]. MYDOS User Ma}nual page 9 Version 4.50 M. Run at Address The "M" comman}d is used to enter a program loaded without a run address, or to jump into any program without the need for a return} address. It may be used to restart the computer (loading the AUTORUN.SYS file, if any, or a new DOS, etc.}..) by specifying "E477" as the jump address. If MEM.SAV is active (enabled with the "N" command and not si}nce disabled by the "L" command), the contents of memory will be restored from MEM.SAV before jumping to the address} specified. N. Load MEM.SAV from a File/Enable MEM.SAV The "N" command takes a binary lo}ad file from the disk and loads it into memory, just as does the "L" command. The difference is this command enab}les the MEM.SAV file before loading (and executing) the program; and when control is returned to MYDOS, the conte}nts of memory will be saved back to MEM.SAV. To just enable MEM.SAV, first enter this DOS menu (by t}yping "DOS" in BASIC), then press "N" and [RETURN]. O. System and Drive Configuration T}he "O" command is used to specify the type (at least logically) of the disk drives on your computer and is also us}ed to specify several system configuration parameters such as the number of file buffers provided or whether } a RAMdisk is present. The system configuration functions, which are not specific to individual drives, are s}elected by pressing [RETURN] at the prompt "Drive number or RETURN:". The following table explains all the promp}ts for system configuration: Verify WRITEs? N=do not write with verify, else do verify } Number of File Buffers? The number of disk files that can be open at once (RETURN = 3) } RAM disk present? N=no RAM disk on the system (skips the next 4 questions as well), }else the RAMdisk is enabled, and tONnext questions determine what k}ind it is. [A]xlon or [X]E type? A=Axlon, (RETURN)=XL or XE type. If Axlon, skip tO}Nnext question. Use default config for (x)K? N=no, specify parameters. "Y" or [RETURN}] uses the parameters the DOS generated for your type of machine. Note } that the "x" is replaced by the amount MYDOS User Manual page 10 Version 4.50} of total memory MYDOS thinks you have. Skip tONnext three quest}ions if answered yes. Size(K)? Size of the RAMdisk area in K (8 single} density sectors = 1K); this must be a multiple of 16 (NI 256K upgr}ade=192 OR 128, AXLON=112, default or 130XE=64). Control Address(HEX)? Address of t}he memory map control port: a RETURN specifies $D301 for the 130XE. For } the AXLON RAMPOWER 128, enter "CFFF" here. Page sequence? [RETURN] if using a standard Atari 130XE } or equivalent RAMdisk. Other standard values are (1) for the Newell }industries upgrade, (2) for the RAMBO from ICD, and (5) for Axlon o}r compatible boards. The most general response is to list the page }numbers to be used as 2 hex digits each, separated by commas, and continuing if } necessary by ending the line with a comma. The sequence is ended with a "0" if the} RAMdisk is 130XE compatible, and with a "FF" if it is Axlon compati}ble. RAM disk drive no? Drive number used to access the RAMdisk (RETURN for driv}e 9 or a drive number 1-9) A [RETURN] does not retain the current value when responding to these quest}ions; it changes the setting to a generally acceptable default. Even a BREAK or RESET will not leave the config}uration unchanged. If the configuration process is aborted for any reason, and you wish to retain your old conf}iguration, you should reboot the computer or properly complete the configuration before doing anything else. } If instead of a [RETURN], a drive number had been specified, then that drive would be reconfigured. The f}irst question identifies whether the drive is to be included in system initialization (and thus be available fo}r later use). If a non-existent disk is included, it does not cause any problems with the system: it simply causes that} disk to be examined each time the system is booted and reset (adding perhaps a second to the time it takes to }boot MYDOS). If drive is excluded from the system, no further questions are asked. Otherwise, the second question }asks if the drive is configurable: that is, is it like the ATARI 810 drive (with a fixed configuration) or is it like} the PERCOM or ATR8000 drives. If the disk is not configurable it is assumed to be a 720 sector, single or} double density ATARI 810/815/1050 disk drive. The third question is whether the drive is a high capa}city drive (does it use the modified configuration for non-floppy disks). This is for hard disks. This shoul}d be answered "N" if the drive is a MYDOS User Manual page 11 Version 4.50 } floppy disk drive, and "Y" if otherwise. If this question is answered "Y", the only remaining question is the size (in} sectors, from 256 to 65535) of the drive. Drives up to 16 million bytes (Megabytes) capacity can used wi}th MYDOS, and larger drives can usually be partitioned to appear as two or more drives of less than 16 million } bytes capacity. See your hard disk manual for more information on this subject. Drives that have n}ot been configured can still be accessed. This configuration is necessary ONLY when formatting hard disks, and when } using PERCOM or ATR8000 interfaces. Other than the above, the drive configuration is not necessary - MYDOS will figu}re out by itself what the disk is capable of by its format. If the first three answers are "N" (do not} exclude the drive), "Y" (it is configurable), and "N" (it is not a high capacity drive), the configuration is a}sked for: Is the drive double sided, how many tracks are there on the each side of the disk, and at what speed can } it move the read/write head across the disk (what is its step rate). The first question is answered with "Y" or "N" (}"Y" meaning "yes" it is a double sided drive, and diskettes formatted on it will be double sided). The second qu}estion is answered with 35, 40, 77, or 80 followed by a [RETURN]. If you have IBM PC/AT style high capacity } disk drives (1.2Mb capacity) you may use 77 of the 80 tracks in high capacity mode providing 1 Mb capacity by sel}ecting 77 tracks. No other numbers are accepted. The answerOis question specifies both the type of drive (8 i}nch/high capacity 5 1/4 inch, or standard 5 1/4 inch) as well as the number of tracks per side. This answer is ver}y important to the operation of the drive. The last answer ("Step Rate?") is entered as a code: use the } following table and the drive specifications to determine the proper value: Code value 8 inch rate } 5 1/4 inch rate 0 3 ms/track 6 ms/track (XF-551) 1 6 ms/track 12 ms/tr}ack 2 10 ms/track 20 ms/track 3 15 ms/track 30 ms/track P. Dis}kette Density Selection The density used for most MYDOS commands is determined by the data written }on the diskette and the operator need not worry about setting it. The "P" command is provided to allow forcing the den}sity setting for the format ("I") command, and to permit setting the density for disk drives and systems} that do not automatically recognize the density of a diskette when reading sector 1 (for example, Indus }GT drives). Type the drive number, followed by "S" or "D" to set the density of the drive. Example: "2,D}". MYDOS User Manual page 12 Version 4.50 Q. Create Subdirect}ories When a diskette is formatted, an empty directory (the highest level or root directory) is c}reated. This directory is capable of holding up to 64 files or other directories. If additional director}ies are installed in this directory, each of the additional directories can contain up to 64 files as well. A subd}irectory is installed in an existing directory using the "Q" command and responding with the filename o}f the new directory. For example, if "TEST" and "BAS" are two subdirectories in the root directory of the diskette} in drive 1, "1:TEST:COMM" or "1:BAS>COMM" would create a new directory in the "TEST" or "BAS" directories re}spectively. "1:NEW:COMM" would not create a directory, however, since the directory "NEW" does not alre }ady exist. A "Q" command with the response "1:NEW" would create it, however, and a second "Q" command with th }e response "1:NEW:COMM" would then create tONnew directory called "COMM" within the directory "NEW". E }ach directory takes up 8 sectors, and after it is created it may only be referenced as a directory (followed by a ": }" or ">"), or deleted. It may only be deleted if it is empty (if it has no files in it). A directory may be emptied } by using the "D" (delete) command and specifying the files "*.*" or "*.*/N" to remove all the files in the direct}ory. You can most safely do this by specifying the full name of the directory: D5:MSGBASE>SEPT1983>*.*/N for example. }Now to delete the SEPT1983 subdirectory, simply delete "D5:MSGBASE>SEPT1983" (note no trailing ":" or ">"). } R. Set the Default Directory The "R" command is used to select a directory to be used when a } file is referenced without the drive number: that is, when file names such as "TEST1.BAS" or "D:NEWCODE" or even ":BIG}FILE" are used, they are assumed to be in the default directory. Programs run under MYDOS can access the content}s of the current default directory by using a file name of the form "D:..." without the drive number explicitly } entered. They may also set the default directory by calling the CIO Function code 41 (set directory) routine. } The directory is set by inserting the diskette with that directory on it into the desired drive, then} entering the file name of the directory with no trailing ":" or ">". If the diskette in the drive conta}ining the default directory is replaced, or if the default directory on a diskette is deleted, the default shoul}d be redefined. The one exception is if the default directory is the root or main directory on a diskette: th}is is because the root directory is at the same location on all diskettes. V. FILE MANAGER FUNCTIONS PR}OVIDED THROUGH CIO MYDOS User Manual page 13 Version 4.50 This} part of the documentation is included in the technical notes of MYDOS, so consult those notes for details. } VI. CIO FUNCTION CODES PROVIDED BY MYDOS 4.50 This part of the documentation is included in th}e technical notes of MYDOS, so consult those notes for details. VIII. MYDOS MEMORY MAP }This part of the documentation is included in the technical notes of MYDOS, so consult those notes for details. } IX. CUSTOMIZING A SYSTEM DISK Much of this section is covered in the technical notes, but } here are some things pertinent to all users. RAMdisk Configurations The RAMdisk driv!}er included in MYDOS 4.50 will automatically configure itself on XE compatible memory upgrades. It is suggested "} you use this feature. If you REALLY want to set up the system to your specifications (such as configuring it to NOT u#}se the banks BASIC XE uses), the power is available. This is necessary when AXLON compatible upgrades f$}or the 800. The default page sequence uses the standard XE banks first. The file RAMBOOT.M65, the MAC/%}65 assembler source code for the file RAMBOOT.AUT, is an AUTORUN.SYS file that simulates the operation of Atari D&}OS 2.5 and its RAMdisk handler. It "formats" the RAMdisk and copies DUP.SYS to it, as well as setting the RAMdisk unit'} number and the unit used to access the DUP.SYS and MEM.SAV files to 8. By modifying the code in the sou(}rce file and creating a modified AUTORUN.SYS file, the drive used to save MEM.SAV and fetch DUP.SYS can be mod)}ified, other files than just DUP.SYS can be copied to the RAMdisk when the system is booted, or any other operation c*}ould be performed that you find useful. Number of Files Open at Once The number of fil+}es that may be simultaneously open is set with the same byte as in ATARI DOS 2: location $0709 (decimal 1801). This ,} byte contains a number from 1 to 16 setting the number of disk files that may be open at the same time. Normall-}y it is set to 3, the smallest number that supports all the functions in the MYDOS menu. Specifically, a copy .} from one disk file to another requires three MYDOS User Manual page 14 Version 4.50/} open disk files. The value in the distributed version of MYDOS 4.50 is three; to permit more or fewer fil0}es, use the "O" command followed by a RETURN. To permanently change the maximum number of files, use the "H" comm1}and to write a modified MYDOS system to a disk. Each file that may be open at one time requires the allocation of a 22}56 byte buffer, so setting this value to 7 (instead of 3) will cause MYDOS to be 1024 bytes longer than before, an3}d the programs loaded must begin no lower than $22E9 (instead of $1EE9). In corresponding fashion, by setting the 4}value to 1, a BBS program can be loaded in with 512 bytes of additional memory if only one disk file is ever open at o5}ne time (commonly true of bulletin board programs). Controlling the Disk Drives Accessed by MYDOS 6} Like ATARI DOS 2, MYDOS automatically identifies the disk drives that are present when booted up initia7}lly and any time it is reinitialized (some programs do this on exiting to the DOS and it is always done if th8}e RESET key is pressed). MYDOS 4.50 is distributed with drives 1 and 2 configured, all others are omitted in order to9} speed up the booting process. To modify the maximum configuration MYDOS will use, invoke the "O" command for :}each drive to be added to (or removed from) the system. Pressing the RESET key will then use this value to red;}efine the drive. To permanently change the maximum drive configuration, use the "H" command to write out a new copy of<} MYDOS back to your system disk. Selecting or Disabling Write-with-Verify MYDOS 4.50 i=}s distributed with the verify disabled, to speed up writing. Most drives (and disks) are very reliable, and function wit>}h no problems with the verify disabled. However, if you experience problems, or want to be 100% sure your data?} written will be good, use the "V" command to enable verify. As with DOS 2.0, the byte at location $0779 (@}1913 decimal) controls all write operations to the disk. If the value "poked" into it is $57 (87 decimal), then alA}l writes will be read back to verify the action was successful. If the value "poked" into $0779 is $50 (80 deB}cimal) then writes will be assumed successful, and will be performed in about one third the time taken when verifyC} is enabled. Note that this address is not the same as in MYDOS 4.0 and 4.1 (where it was $0770 or 1904 decimal). TD}o permanently alter the DOS, rewrite it back to the disk using the "H" command after changing it. E} X. DISK DRIVE INTERFACE (via SIO) This information is covered in the technical notes for MYDOS. F} XI. RAMDISK INTERFACE This information is also covered in the technical notes. MYDOS User ManualG} page 15 Version 4.50 XII. INITIAL INSTALLATION INSTRUCTIONS H} The following checklist is a procedure to bring up MYDOS on a new hardware configuration. It should be doI}ne with an un-modified copy of MYDOS 4.50, and care should be taken to perform the steps in exactly the order specJ}ified. HOW TO GET FROM THE DRIVEWAY TO THE FREEWAY: 1. Before turning on your computer and disk driveK}, make sure that you do not have a cartridge installed in the computer. 2. Turn on the disk drive, and when L}it stops spinning, insert the MYDOS master diskette. Close the door. 3. Turn on the computer (with OPTION heM}ld if using an XL or XE computer). After several seconds, the MYDOS menu should appear on the screen. A pN}rompt "Select Item (RETURN for menu):" will be displayed. 4. If you have a standard 2-drive system with singO}le sided 40 track drives and either no RAMdisk or the standard Atari 130XE memory configuration, continueP} with step "6". 5. Configure each of your disk drives only if they are hard disks or special double-sided (XQ}F-551) or more than 40 tracks by entering the "O" command followed by the drive number, and answering theR} questions the program asks you. 6. If you need to run a program that requires more than 3 disk files activeS} at a time or you otherwise want alter one of the default parameters, press the "O" key followed by the RT}ETURN key and answer the system configuration questions. This is also where the RAMdisk configuration needs to be U} entered if it is not a standard 130XE RAMdisk. **** 7. Now, insert a blank diskette in the disk drive and forV}mat it with the "I" command (remove the write protect tab if the diskette is write protected -- but firstW} ask yourself why you put it there in the first place!). If an error message is displayed, insert anotherX} diskette; the first is bad. 8. Write the system files DOS.SYS and DUP.SYSOe newly formatted diskette with Y}the "H" command and skip to step "10" if you do not have an ATARI 130XE computer or some other RAMdisk usZ}able with the MYDOS RAMdisk driver. 9. If you have an ATARI 130XE computer or have another kind of RAMdisk a[}nd wish to use the MYDOS RAMdisk driver, copy RAMBOOT3.AUT on the master diskette to AUTORUN.SYS on the n\}ew diskette (use the "C" command, and if you have only one drive, enter the command line "RAMBOOT.AUT,AUTORUN.SYS/X]}" when MYDOS asks for the file names).** 10. This is now your primary system backup disk: place a write ^} protect tab on it, label it, and use the "J" command to make as many working boot disks as you need from it. _} NOTES: MYDOS User Manual page 16 Version 4.50 `}The RAMBOOT3 program will first format your RAMdisk, then copy the files in a directory called RAMDISK on your boa}ot disk to the RAMdisk if such a directory exists. To take advantage of this feature, use the "Q" commab}nd to create the directory and copy the files you want on the RAMdisk to it. If you do not want your ramdisk formac}tted each time you boot-up, which is not recommended, skip this step (step 9). Just be sure you format your ramdisk befd}ore using it. ** -- The source file for the RAM disk boot is also included; if you feel the urge}e, modify it to copy other filesOe RAMdisk in addition to DUP.SYS (take out the MEM.SAV setting code, f} too, if you need the space) or perhaps add a call to change the default disk drive to D8:. Just remember tg}hat if you string together several autorun files, only the last will have its RUN address invoked. h} **** -- NEWELL INDUSTRIES 800XL UPGRADE -- this RAMdisk can use page sequence 0, page sequence 1, or thei} default. The E3/E7/EB/EF pages can be reserved for BASIC/XE in extended mode by setting the RAMdisk j}size to 128K and the sequence to 1. Enter Size=128 (or 192 if you will not be using BASIC/XE often), k}Control address=D301, and Page sequence=1. In the second case this will use the area also used by BASl}IC/XE, but it will access it only after the first 128K are used up. By setting the size to 128K, BASIm}C/XE and the RAMdisk are fully separate and cannot interfere with each other. **** -- AXLON RAMPOWER 1n}28 for the Atari 800 computer -- MYDOS 4.50 comes configured for the Atari 130XE -- if you are instalo}ling it on an 800 with an Axlon RAMPOWER board, you must disable the 128K mode on the RAMPOWER board until p} you have configured the MYDOS RAMdisk code by entering Size=112, Control address=CFFF and Page sequence=5. q}Then write the DOS back to a new diskette, copy AUTORUN.SYS to it, switch the RAMPOWER board back to r}128K and boot up tONnew diskette. MYDOS User Manual page 17 s} Version 4.50 XIII. ERROR CODES AND THEIR SOURCES 3 Last byte of file read, next read will t}return EOF (MYDOS) 128 Break Abort (OS ROMs) 129 IOCB already open (OS ROMs) 130 No such device defined u}in the system (OS ROMs) 131 Write-only IOCB, cannot read (OS ROMs) 132 Invalid command (OS ROMs) 133 Devv}ice or File not open (OS ROMs) 134 Invalid IOCB reference (OS ROMs) 135 Read-only IOCB, cannot write (OS ROMs)w} 136 Attempt to read past end of file (MYDOS) 137 Truncated record (OS ROMs) 138 Device Timeout (OS ROMs)x} 139 Device NAK (serial bus failure, OS ROMs) 141 Cursor out of range for graphics mode (OS ROMs) 142 Day}ta frame overrun (serial bus failure, OS ROMs) 143 Data frame checksum error (serial bus failure, OS ROMs) 144 z}Device I/O error (in peripheral hardware, OS ROMs) 146 Function not provided by handler (OS ROMs) 147 Insuffici{}ent RAM for graphics mode selected (OS ROMs) 160 Invalid Unit/Drive Number, zero or greater than 7 (both MY|}DOS and OS ROMs) 161 No sector buffer available, too many open files (MYDOS) 162 Disk full, cannot allocate spa}}ce for output file (MYDOS) 163* Write protected or system error - disk is not readable (MYDOS) 164 File number i~}n link does not match the file's directory location (MYDOS) 165 Invalid file name (MYDOS) 166 Byte n}ot within file, invalid POINT request (MYDOS) 167 File locked, cannot be altered (MYDOS) 168 Invalid IOCB (MYDO}S and OS ROMs) 169 Directory full, cannot create a 65-th entry in a directory -- entries may be used for "l}ost" as well as real files (MYDOS) 170 File not in directory, cannot be opened for input (MYDOS) 171 } IOCB not open (MYDOS and OS ROMs) 172* File or directory of same name already exists in parent directory, c}annot create (MYDOS) 173 Bad diskette or drive, cannot format diskette (MYDOS) 174* Directory not in parent dire}ctory (MYDOS) 175* Directory not empty, cannot delete (MYDOS) 180* Not a binary file (MYDOS) 181* Invalid a}ddress range for binary file, END